package com.booksystem.service;

import com.booksystem.common.RestResult;
import com.booksystem.dto.CreatePaymentDTO;
import com.booksystem.dto.HandleCallbackDTO;
import com.booksystem.dto.QueryPaymentStatusDTO;

/**
 * <p>
 *   支付管理服务接口
 * </p>
 * @author 段伟豪
 */
public interface PaymentService {

    /**
     * 创建支付订单
     *
     * @param createPaymentDTO 创建支付订单请求参数
     * @return 统一响应结果
     */
    RestResult<?> createPaymentOrder(CreatePaymentDTO createPaymentDTO);

    /**
     * 处理支付回调
     *
     * @param handleCallbackDTO 处理支付回调请求参数
     * @return 统一响应结果
     */
    RestResult<?> handlePaymentCallback(HandleCallbackDTO handleCallbackDTO);

    /**
     * 查询支付状态
     *
     * @param queryPaymentStatusDTO 查询支付状态请求参数
     * @return 统一响应结果
     */
    RestResult<?> queryPaymentStatus(QueryPaymentStatusDTO queryPaymentStatusDTO);
}